package Negocio;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name="planes_mantenimiento")
public class PlanMantenimiento implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 8222105988704452603L;

	@Id
	@Column(name="plan_mantenimiento_id")
	@GeneratedValue(strategy = GenerationType.AUTO)
	private int planMantenimientoId;
	
	@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
	@JoinColumn(name="plan_mantenimiento_id")
	private List<ItemPlanMantenimiento> itemsPlan;
	
	@OneToOne
	@JoinColumn(name = "dominio")
	private Vehiculo vehiculo;
	
	public PlanMantenimiento(){
		this.itemsPlan = new ArrayList<ItemPlanMantenimiento>();
	}
	
	public PlanMantenimiento(Vehiculo vehiculo) {
		this.vehiculo = vehiculo;
		this.itemsPlan = new ArrayList<ItemPlanMantenimiento>();
	}
	
	public void agregarItemPlanMantenimiento(ItemPlanMantenimiento item) {
		this.itemsPlan.add(item);
	}
	
	public List<ItemPlanMantenimiento> getItemsPlan() {
		return itemsPlan;
	}
}
